Push Technology is a client-server model that allows a server to send data to a client when new data is available. The basic idea behind Push Technology is to hold a persistent connection between the client and the server at all times. Push Technology is contrasted with Pull Technology, where the client has to set up a new connection to the server to request the new data. There may be two main benefits for Push Technology as compared to Pull Technology. First, Push Technology is faster. The persistent connection in Push Technology ensures that the data delivery from the server to the client is near real-time. Applications like weather alerts, stock stickers, emails, etc. can benefit from this low-latency delivery. Second, Push Technology is more efficient since the client accepts data when there is some new data on the server.
Mobile devices have been playing a more and more important role in everyone's life. People are using mobile devices for browsing websites, receiving messages, reading emails and many other kinds of activities. Mobile applications can benefit a lot from Push Technology. It can deliver near-real-time emails to your devices and sync your contacts, calendar and task data when you update them from somewhere else. In general, Push Technology is more efficient than Pull Technology. This is a big advantage for mobile devices because it can save a lot of bandwidth and extend battery life. Popular mobile platforms provide Push Technology on the mobile devices. On the Android platform, Cloud to Device Messaging (C2DM) is available. On the iOS platform, Apple Push Notifications Service (APNS) is available. Both C2DM and APNS utilize Push Technology to send data from servers to their applications on the devices.
In recent years, the number of applications running on mobile devices has grown rapidly. More and more large companies and organizations support critical business functions and use of business applications via mobile devices. This kind of applications is known as Enterprise Mobile Applications. Via Enterprise Mobile Applications, employees can do several enterprise tasks. For example, employees can provide customer-relationship management (CRM), conduct enterprise resource planning (ERP), access company emails, address books and calendars, manage purchase orders and fill out sales invoices, receipts, etc.
Many mobile applications have been developed and used by organizations around the world on various mobile platforms. The iOS platform on iPhone, iPad and iPod Touch may be among the most popular ones for its highly polished, elegant-looking applications. On the iOS platform, Apple Push Notifications Service (APNS) is available as Push Technology. APNS is a service provided by Apple Inc. on its iOS platform. It uses Push Technology to send notifications from the server to the iOS device through a persistent connection. There may be several limitations associated with APNS for Enterprise Applications. First, APNS may require that all the enterprise data be routed to APNS to be delivered to the devices. This is a security concern to some enterprise companies, which are not willing to route data through Apple servers. Even though the data can be encrypted, information like targeted devices, number of messages, message frequency, delivery time, etc. is exposed to Apple Inc. Second, APNS may require each application to go through the iOS Developer Program provisioning procedures to be eligible to utilize APNS. Third, APNS may impose a maximum size limit (e.g., 256 bytes) on notification payloads. Finally, APNS may not guarantee delivery and may retain only the last notification if the device is offline. As such, data may be lost when utilizing APNS.
Hence, a need exists for delivering enterprise data from the Enterprise to the mobile device without having to go through APNS or similar services not under the control of the enterprise.